Volatility Adjusted Grid [Gann]█ OVERVIEW
Gann Square of 9 is one of the many brilliant concepts from W.D.Gann himself where it revolves around the idea that price is moving in a certain geometrical pattern. Numbers on the Square of 9 spiral tables, especially those lie in every 45degree in the chart act as key vibration levels where prices have tendency to react to (more on the table below).
There are few square of 9 related scripts here in Tradingview and while there's nothing wrong with them, it doesn't address 1 particular issue that i have: The numbers can be too rigid even when scaled based on current price because the levels are fixed, which makes them not tradable on certain timeframes depending on where the price currently sitting.
Heres 5min and 1hour Bitcoin chart to illustrate what i mean: Grey line on the left is based on Volatility Adjusted levels, while red/blue on the right are the standard Gann levels.
You can see that on 1hour chart, it provides a good levels (both Volatility Adjusted and the standard one happened to share the same multiplier in this case),
1Hour Chart:
On 5 min chart tells a different story as the range between blue/red levels can be deemed as to big for a short term trade, while the grey line is adjusted to suit that particular timeframe (You can still adjust to make it bigger/smaller from the settings, more on this below)
5Min Chart:
█ Little bit on Gann Square of 9 table
This is the square of nine table, the numbers highlighted in Red are known as Cardinal Cross and considered to be a major Support/Resistance while those in Blue color are known as Ordinal Cross considered as minor (but still important) Support/Resistance levels
Similarly, this script use these numbers (and certain multipliers) to print out the levels, with Cardinal numbers represented by solid lines and Ordinal numbers by dotted lines.
█ How it Works and Limitations
The Volatility Adjusted grid will go through several iterations of different multipliers to find the Gann number range that is at least bigger than times ATR. Because it's using ATR to determine the range, occasionally you'll notice that the line become smaller as ATR contracting (and vice versa). To overcome this, you can change the size range multiplier from the settings to retrieve the previous range size.
Use the size guide at the bottom left to find the multiplier that suits your need:
1st Row -> Previous Range -- Change Range Size to number lower than this to get a smaller range
2nd Row -> Next Range -- Change Range Size to number higher than this to get a larger range
Example:
Before:
After:
As you'll soon realise, the key here is to find the range that fits the historical structure and suits your own strategy. Enjoy :)
█ Disclaimer
Past performance is not an indicator of future results.
My opinions and research are my own and do not constitute financial advice in any way whatsoever.
Nothing published by me constitutes an investment recommendation, nor should any data or Content published by me be relied upon for any investment/trading activities.
I strongly recommends that you perform your own independent research and/or speak with a qualified investment professional before making any financial decisions.
Any ideas to further improve this indicator are welcome :)
[b]forex
[NH] Forex SessionsOverview of the 3 main forex trading sessions (New York, London, Tokyo) with alerts and a clean, minimalistic look.
New York:
8:00 am - 5:00 pm EST
London:
3:00 am - 12:00 pm EST
Tokyo:
7:00 pm - 4:00 am EST
Directional Strength Panel█ OVERVIEW
The panel display trend momentum of selected coins/symbol (up to 6) based on the Arnaud Legoux Moving Average (ALMA). I'm using ALMA to measure the trend because it resolves 2 main issue of the more common moving averages, smoothing and responsiveness. By removing the minor fluctuations in price without sacrificing the responsiveness, the trend become much more clearer and easier to be measured.
In essence, as the meter approaches 100, it means the ALMA is pointing up (0 means pointing down)
█ Features
- Adjustable ALMA settings with options to turn on/off display the ALMA on current chart
- Select 6 symbols of your choice to be monitored in the settings (You have to manually update the label to display)
- Working on all timeframes
- Switch the panel color to suit background chart theme (Light/Dark)
█ Developer Notes
I'm working with table a lot lately and decided to publish this as a sample if anyone wishes to edit the script to display whatever they want. main calculation in get_data() function should be clamped to value between 0-100. As for the panel size, you can edit the row_max (currently set to 20 and 40) if you need it to be smaller or bigger (**i feel anything smaller than 16 is ugly)
█ Disclaimer
Past performance is not an indicator of future results.
My opinions and research are my own and do not constitute financial advice in any way whatsoever.
Nothing published by me constitutes an investment recommendation, nor should any data or Content published by me be relied upon for any investment/trading activities.
I strongly recommends that you perform your own independent research and/or speak with a qualified investment professional before making any financial decisions.
Any ideas to further improve this indicator are welcome :)
Central Bank Interest RatesThis indicator will show central bank interest rates on any major currency pairs.
I included the last 10 values for the study and will update them with future changes.
Major currencies: USD, CAD, NZD, AUD, JPY, EUR, CHF, GBP
I might add CZK, TRY, ZAR, and Yuan in the future.
Sideways detection bollinger bandsSideways detection indicator using Bollinger bands .
In this case we take the original ratio between lower and upper and we smooth it even harder in order to get a better idea about the accuracy of the trend.
If the initial ratio is not between 0 and 1 and the smooth ratio is higher than our selected value, we get an idea if we are a in trending market or not.
Of course using it as a standalone has no usage, and it has to be combined with other tools like moving average, oscillators and so on.
IF you have any questions let me know
3x EMA fast, 3 x MA slow + BB + PsarThis is a trend system which combines multiple fast EMA + mulitple slower SMA together with bollinger band channel and PSAR.
For entry rules the ones that I use are:
Long
We are inside BB channel, psar is ascending, and our close is above all moving averages or below all EMA'S + 1 SMA
WE can exit either when our close is below all EMA's or when PSAR is descending or when we hit upper/lower BB levels
Short
We are inside BB channel, psar is descnending, and our close is below all moving averages or below all EMA's + 1 SMA
WE can exit either when our close is above all EMA's or when PSAR is ascending or when we hit upper/lower BB levels
If you have any questions, let me know
Extremely high win rate FOREX swing strategyTHis is a very simple yet extremely efficient FOREX strategy .
In general it tends to work the best against NZD and AUD pairs, however other major pairs and crosses can work as well.
It's made of a time management, together with MACD , moving average , a price action rule and a risk management.
THe logic behind is the next one :
For LONG:
We have 3 ascending candles.
Histogram of MACD is positive.
Last close of a candle is was above moving average.
If all those previous condition happened before 17/18 UTC time depending if its summer time or not, we enter the trade.
For Short:
We have 3 descending candles.
Histogram of MACD is negative.
Last close of a candle is was below moving average.
If all those previous condition happened before 17/18 UTC time depending if its summer time or not, we enter the trade.
RIsk management
For risk management, since we aim to have a 95%+ win rate, we aim to have a 5:1 or 10:1 risk to reward ratio. Meaning that for each $ we can win, we can lose 5-10$.
THats why I recommend to be extremely careful when playing with leverage with this strategy.
Full Forex scalper StrategyTHis is a FOREX scalping system that can be optimized with almost all majors and crosses pairs.
Its made of multiple elements such as :
MACD
Stochastic RSI
Fast VW moving average
Slow VW moving average
Time management( forex sessions as inputs)
Rules for entry
Long
Last 2 MACD values were ascending, fast moving average is below moving average and stochastic RSI is below 30 level. At the same time we are either into London or NY session.
Short
Last 2 MACD values were descending, fast moving average is above moving average and stochastic RSI is above 70 level. At the same time we are either into London or NY
Rules for exit
WE have 2 exit possibilities: we can exit either at the end of NY/London Session or based on a TP/SL risk management calculating % in movement.
If you have any questions let me know !
Forex bot full strategy with risk managementThis is a full strategy designed for forex major pairs, specially EUR/USD using 1h time frame chart.
Its components are
200 EMA
MACD
OBV
PSAR
RIsk management with tp and sl movements
Rules for entry
For long = Previous histogram from MACD was below 0 and current one is above 0. CLose of a candle is above EMA 200 , OBV oscillator is negative and we have an uptrend from PSAR
For short = Previous histogram from MACD was above 0 and current one is below 0. CLose of a candle is below EMA 200 , OBV oscillator is positive and we have an downtrend from PSAR
Rules for exit
For tp and sl values we calculate the distance from the close of candle until the psar values.
If you have any questions, let me know !
Forex Daytrade T3 MA sessionThis is a simple yet very efficient daytrading strategy for most crosses pairs, like EUR/NZD, EUR/AUD , GBP/NZD, GBP/AUD and so on.
It tends to works best with 1h and 15 min time frame charts.
Its components are :
Entry time = session that we want to trade, where we can combine for example half of London and all of NY using an hour system.
T3 Moving average
Price action.
Rules for entry
For long , we are during the hours we want to trade, current close is price is above previous high and at the same time is above moving average
For short , we are during the hours we want to trade, current close is price is below previous low and at the same time is below moving average
Rules for exit
We exit when either the opposite condition is triggered, if the hours of trading are off or based on a percentage TP/SL system movement.
For this example we use 1% movement both for TP and SL
If you have any questions, let me know !
Forex scalper 2xEMA + SRSI + MACDThis is a forex scalping strategy designed for the most liquid pairs, like major forex pairs.
Its made of
1 EMA 50
1 EMA 100
Stochastic RSI
MACD
Rules
For long :close of the candle is above moving average 50, moving average 50> moving average 100, macd histogram is positive and cross over of stochastic rsi with the oversold level.
For short :close of the candle is below moving average 50, moving average 50 < moving average 100, macd histogram is negative and cross under of stochastic rsi with the overbought level.
Exit
For exit we have take profit and stop loss using fixed pip points.
For this example on EURUSD we use 20 pips for both tp and sl
IF you have any questions let me know !
Swing forex strategy 15minThis is a strategy made using BB+ RSI indicators that seems to work great with 15 min major pairs for FOREX.
THe rules for it are simple:
For long we enter when the close of our candle crosses upwards the lower line and rsi crossover the over sold line
We exit long when we have a short entry.
For short we enter when the close of the candle crosses downwards the top line and rsi cross under the over bought line
WE exit short when we have a long entry.
Careful, this strategy has no risk management inside.
If you have any questions let me know !
[astropark] Moon Phases [alarms]Dear Followers,
today I'm glad to present you an indicator which calculates Moon Phases and let's you set an alert over it.
This is a public free indicator based on the public one by @paaax:
I added my usual alert system logic, plus some more customization inputs for easy coloring.
The lower the timeframe you use it and set your alerts on, the more precise the alert value you get.
Here below the script for backtesting it:
Enjoy!
-- astropark
quarter level dinamicLimited quarter level script but more flexible in compared to my FX script, same logic behind
quarter level 0.5 to 2.0This script could help to see edged level for a reverse on forex, not for yen pairs and is based on quarter and round number theory.
I suggest to use it on H4 timeframe or lower to have a confermation on support or resistance level.
Alert(), alertcondition() or strategy alerts?Variety of possibilities offered by PineScript, especially thanks to recent additions, created some confusion. Especially one question repeats quite often - which method to use to trigger alerts?
I'm posting this to clarify and give some syntax examples. I'll discuss these 3 methods in chronological order, meaning - in the order they were introduced to PineScript.
ALERTCONDITION() - it is a function call, which can be used only in study-type script. Since years ago, you could create 2 types of a script: strategy and study. First one enables creating a backtest of a strategy. Second was to develop scripts which didn't require backtesting and could trigger alerts. alertcondition() calls in strategy-type scripts were rejected by Pine compiler. On the other hand compiling study-type scripts rejected all strategy...() calls. That created difficulties, because once you had a nice and backtested strategy, you had to rip it off from all strategy...() function calls to convert your script to study-type so you could produce alerts. Maintenance of two versions of each script was necessary and it was painful.
"STRATEGY ALERTS" were introduced because of alertcondition() pains. To create strategy alert, you need to click "Add alert" button inside Strategy Tester (backtester) and only there. Alerts set-up this way are bound with the backtester - whenever backtester triggers an order, which is visible on the chart, alert is also fired. And you can customize alert message using some placeholders like {{strategy.order.contracts}} or {{ticker}}.
ALERT() was added last. This is an alerts-triggering function call, which can be run from strategy-type script. Finally it is doable! You can connect it to any event coded in PineScript and generate any alert message you want, thanks to concatenation of strings and wrapping variables into tostring() function.
Out of these three alertcondition() is obviously archaic and probably will be discontinued. There is a chance this makes strategy/study distinction not making sense anymore, so I wouldn't be surprised if "studies" are deprecated at some point.
But what are the differences between "Strategy alerts" and alert()? "Strategy alerts" seem easier to set-up with just a few clicks and probably easier to understand and verify, because they go in sync with the backtester and on-chart trade markers. It is especially important to understand how they work if you're building strategy based on pending orders (stop and limit) - events in your code might trigger placing pending order, but alert will be triggered only (and when) such order is executed.
But "Strategy Alerts" have some limitations - not every variable you'd like to include in alert message is available from PineScript. And maybe you don't need the alert fired when the trade hit a stop-loss or take-profit, because you have already forwarded info about closing conditions in entry alert to your broker/exchange.
Alert() was added to PineScript to fill all these gaps. Is allows concatenating any alert message you want, with any variable you want inside it and you can attach alert() function at any event in your PineScript code. For example - when placing orders, crossing variables, exiting trades, but not explicitly at pending orders execution.
The Verdict
"Strategy Alerts" might seem a better fit - easier to set-up and verify, flexible and they fire only when a trade really happens, not producing unnecessary mess when each pending order is placed. But these advantages are illusionary, because they don't give you the full-control which is needed when trading with real money. Especially when using pending orders. If an alert is fired when price actually hit a stop-order or limit-order level, and even if you are executing such alert within 1 second thanks to a tool like TradingConnector, you might already be late and you are making entry at a market price. Slippage will play a great role here. You need to send ordering alert when logical conditions are met - then it will be executed at the price you want. Even if you need to cancel all the pending orders which were not executed. Because of that I strongly recommend sticking to ALERT() when building your alerts system.
Below is an example strategy, showing syntax to manage placing the orders and cancelling them. Yes, this is another spin-off from my TradingView Alerts to MT4 MT5 . As usual, please don't pay attention to backtest results, as this is educational script only.
P.S. For the last time - farewell alertcondition(). You served us well.
Moving Stop-Loss mechanism + alerts to MT4/MT5"How to code moving stop-loss mechanism", is one of the most often repeating questions in private messages I receive, so just to focus on this mechanism, I made a spin-off from my previous script: TradingView-Alerts-to-MT4-MT5-dynamic-variables-NON-REPAINTING .
The logic here moves the stop-loss each time a trade is running and a new pivot high/low is detected. When such event occurs (UpdateLongStopLoss or UpdateShortStopLoss), stoploss_long or stoploss_short mutable variable is modified. And it needs to be coded inside strategy.exit() line as "stop=stoploss_long" or "stop=stoploss_short". Entries are pretty straightforward - on Stoch crosses.
Last lines of the script show how to wrap information about such updates and send send alerts to MetaTrader via TradingConnector for execution in Forex/indices/commodities/crypto markets via MetaTrader. Please note that "tradeid=" variable must be passed with each alert, to let MetaTrader know which trade to modify. SLMOD, TPMOD are recently added commands, along with BE (as in "move stop-loss to breakeven" - but that's another topic).
Please disregard strategy backtest results, as this script is for coding education purposes only. However, it seems with the stop-loss mechanism enabled, the results are even better, than in original version of the script :)
How to use Leverage and Margin in PineScriptEn route to being absolutely the best and most complete trading platform out there, TradingView has just closed 2 gaps in their PineScript language.
It is now possible to create and backtest a strategy for trading with leverage.
Backtester now produces Margin Calls - so recognizes mid-trade drawdown and if it is too big for the broker to maintain your trade, some part of if will be instantly closed.
New additions were announced in official blogpost , but it lacked code examples, so I have decided to publish this script. Having said that - this is purely educational stuff.
█ LEVERAGE
Let's start with the Leverage. I will discuss this assuming we are always entering trades with some percentage of our equity balance (default_qty_type = strategy.percent_of_equity), not fixed order quantity.
If you want to trade with 1:1 leverage (so no leverage) and enter a trade with all money in your trading account, then first line of your strategy script must include this parameter:
default_qty_value = 100 // which stands for 100%
Now, if you want to trade with 30:1 leverage, you need to multipy the quantity by 30x, so you'd get 30 x 100 = 3000:
default_qty_value = 3000 // which stands for 3000%
And you can play around with this value as you wish, so if you want to enter each trade with 10% equity on 15:1 leverage you'd get default_qty_value = 150.
That's easy. Of course you can modify this quantity value not only in the script, but also afterwards in Script Settings popup, "Properties" tab.
█ MARGIN
Second newly released feature is Margin calculation together with Margin Calls. If the market goes against your trades and your trading account cannot maintain mid-trade drawdown - those trades will be closed in full or partly. Also, if your trading account cannot afford to open more trades (pyramiding those trades), Margin mechanism will prevent them from being entered.
I will not go into details about how Margin calculation works, it was all explainged in above mentioned blogpost and documentation .
All you need to do is to add two parameters to the opening line of your script:
margin_long = 1./30*50, margin_short = 1./30*50
Whereas "30" is a leverage scale as in 30:1, and "50" stands for 50% of Margin required by your broker. Personally the Required Margin number I've met most often is 50%, so I'm using value 50 here, but there are literally 1000+ brokers in this world and this is individual decision by each of them, so you'd better ask yourself.
--------------------
Please note, that if you ever encounter a strategy which triggers Margin Call at least once, then it is probably a very bad strategy. Margin Call is a last resort, last security measure - all the risks should be calculated by the strategy algorithm before it is ever hit. So if you see a Margin Call being triggred, then something is wrong with risk management of the strategy. Therefore - don't use it!
Stronger Classical Support/Resistance + Round LevelsI wrote some Support/Resistance scripts before this. In this new script, I implemented the logic of the code from the scratch, so it's very different from my previous S/R indicators and I think it's more advanced, accurate and efficient.
As the result it could do the followings for now:
- Draw more strong classical resistance/support levels by checking previous direction changes of the chart as far as Pine technically allows
- Colorize the levels based on the counted points of retracement/pullback (The darker the color is, the stronger the level is.)
- Show the number of reactions to each level
- Change the color of each level based on its main role as support, resistance or both
- Draw close round levels to current price for Forex pairs
I suggest all users of my previous S/R indicators to try this one.
Feel free to send me any issue or opinion!
Hammers & Stars StrategyOverview
This script trades basic hammer and shooting star candlestick patterns.
It's an extremely simple strategy with minimal filters, and according to my personal manual backtesting and automated trading results, performs best on the Daily chart on certain forex pairs.
It is intended to be traded on the forex markets but theoretically should work on all markets (especially if you optimize the settings).
The script also comes with complete AutoView automation for Oanda.
Make sure you've connected AutoView to TradingView and Oanda, then simply set an alert using the "alert() function calls only" condition and it will automatically execute trades based on whatever settings you've selected (only recommended for experienced traders - use at your own risk!)
If you're not sure how to set up AutoView, search "The Art of Trading AutoView Guide" on YouTube to find my detailed video guide.
Check out my website and YouTube channel for more information, scripts, resources and free Pine Script & trading lessons (link in my profile).
Best of luck with your trading!
- Matt / The Art of Trading
Settings Menu
Tooltips are included explaining what the various settings do, but here's a quick summary:
Strategy Settings
>= ATR Filter: Minimum size of entry candle compared to ATR
<= ATR Filter: Maximum size of entry candle compared to ATR
Stop Loss ATR: Stop loss multiplier (x ATR)
R:R: Risk:Reward profile
Fib Level: Used to calculate upper/lower third of candle. (For example, setting it to 0.5 will mean hammers must close >= 50% mark of the total candle size)
Start Date Filter: Date & time to begin trading from
End Date Filter: Date & time to stop trading
AutoView Oanda Settings
Use Oanda Demo: If turned on then oandapractice broker prefix will be used for AutoView alerts (demo account). If turned off then live account will be used
Use Limit Order: If turned on then AutoView will use limit orders. If turned off then market orders will be used (recommended to use limit order to mitigate spread issues)
Days To Leave Limit Order: This is your GTD setting (good til day)
Account Balance: Your account balance (used for calculating position size)
Account Currency: Your account balance currency (used for calculating position size)
Risk Per Trade %: Your risk per trade as a % of your account balance
Reversal with Bollinger Bands + RSI + ADX + ATR (Upgraded)Hi,
Welcome to my 4th script.
Someone asked me some questions about the Bollinger Band strategy I previously published. When I went back to my published script I couldn't help myself but simply try and make it better. Which I did.
Since I've published that script, I've gained much more knowledge about how Pinescript functions. As well as gaining more and more knowledge about how the markets are structered etc.
In this reversal script we use 4 indicators to determine good entry signals, we determine whether the market is ranging or trending and we still only want to take trades in the direction of the "trend".
Bollinger Bands are used for our entry signal. When price hits either side of the band, we wait for a reverse candlestick before we enter a position.
RSI is used to determine if we're in a trending market or in a ranging market. You can adjust the values in the inputs. You can determine the minimum RSI value and the maximum RSI value.
ADX is used the same way as RSI, you can adjust the value in the inputs. You can determine the minimum ADX value.
Last but not least we use two EMA's, a 200 EMA and 100 EMA. Both are adjustable through the inputs. I used two EMA's because I noticed when using this strategy that we'd enter a new position often after having a bad trade. Using two EMA's might clean up some signals, in my case with EUR/USD on a 15m timeframe, it didn't clean up enough signals.
All the default values are pretty decent but might require some finetuning on a certain instrument. Don't overfit the strategy though, that'll only give you bad signals in the future.
Then we are off to our exit signals.
Initially I wanted to incorporate my previous Bollinger Band exit signals as well, but it was too much of a hassle to make the script work as intended so I left it out. If you want to use those exit signals, just find my other script.
When we're in a position and price crosses the opposite band, we wait for a reverse candlestick before we exit the position.
Additionally we want our losses to be as small as possible, so we use RSI to signal us when the market is, or starts to, trend against us. This is where you use the minimum and maximum exit values. So when RSI crosses over or under that value, it'll exit the position.
Furthermore, we use the ATR indicator to set our stop loss, which is pretty basic stuff. You can adjust the ATR multiplier in the inputs. Disabling "Use Trailing Stop?" is really inadvisable unless you know this script inside out as your only exit signals will be opposite Bollinger Band Cross and RSI overbought / oversold areas.
Matrix Series and Vix Fix with VWAP CCI and QQE SignalsBased on @ChrisMoody Williams_VIX_Fix and @glaz Matrix Series .
This indicator identify potential zone of reversal according to momentum and volatility.
Includes VWAP CCI and QQE Signals.